<script setup lang="ts">
defineOptions({
    name: 'cs',
});

definePageMeta({
    layout: 'blank',
});

import { useWebSocket } from '@vueuse/core';

const message = useMessage(); // 消息弹窗
const userStore = useUserStore(); // 用户仓库

const server = ref((useRuntimeConfig().public.apiBase + '/infra/ws').replace('http', 'ws') + '?token=' + userStore.refreshToken);

// const { data, close, open } = useWebSocket(server.value, {
//     autoReconnect: true,
//     heartbeat: true,
// });

// 会话列表
const keFuConversationRef = ref<any>(null);
function handleChange() {}

// 会话详情
const keFuChatBoxRef = ref<any>(null);
function getConversationList() {}

// watchEffect(() => {
//     if (!data.value) {
//         return;
//     }
//     try {
//         // 1. 收到心跳
//         if (data.value === 'pong') {
//             return;
//         }
//         // 2.1 解析 type 消息类型
//         const jsonMessage = JSON.parse(data.value);
//         const type = jsonMessage.type;
//         if (!type) {
//             message.error('未知的消息类型：' + data.value);
//             return;
//         }
//         // 2.2 消息类型： kefu_message_type
//         if (type === 'kefu_message_type') {
//             getConversationList();
//             keFuChatBoxRef.value?.refreshMessageList(JSON.parse(jsonMessage.content));
//             return;
//         }
//         // 2.3 消息类型：已读
//         if (type === 'kefu_message_read_status_change') {
//             getConversationList();
//         }
//     } catch (error) {
//         console.error(error);
//     }
// });

// 初始化
onMounted(() => {
    getConversationList();
    // open();
});

onBeforeUnmount(() => {
    // close();
});
</script>

<template>
    <div class="w-screen h-screen flex items-center justify-center bg-gray-200">
        <router-view />
    </div>
</template>

<style lang="scss" scoped></style>
